/*引入模拟数据*/
import other from './data/other'
import goods from './data/goods'
import classfy from './data/classify.data'
import cartGoods from './data/cart-goods'
import orders from './data/orders'
/*封装请求轮播图的数据*/
/*sort参数：排序方式*/
export function apiBanner( sort ){
	//promise异步编程
	return new Promise((resolve , reject)=>{
		//定时器只是模仿请求的延时
		setTimeout(function(){
			try{
				let list = []; //接受请求结果
				//根据sort传递过来关键字确认排序方式
				switch(sort){
					case 'asc':
					list = [...other[0].list];
					break;
					case 'deac':
					 list = otner[0].list.reverse();
					 break;
				}
				// 请求到数据后的操作
				resolve(list); //请求最终的数据
			}catch(e){
				reject(e); //操作失败的结果
			}
		},1000)
	})
}

export function apiIndexTabs( ){
	//promise异步编程
	return new Promise((resolve , reject)=>{
		//定时器只是模仿请求的延时
		setTimeout(function(){
			try{
				let list = [...other[1].list]; //接受请求结果
				// 请求到数据后的操作
				resolve(list); //请求最终的数据
			}catch(e){
				reject(e); //操作失败的结果
			}
		},1000)
	})
}

/*请求分类导航数据*/
export function apiGoods(p, num, val ){
	//promise异步编程
	return new Promise((resolve , reject)=>{
		//定时器只是模仿请求的延时
		setTimeout(function(){
			try{
				let list = [] , result=[];  //接受请求结果
				switch(val){
					case '全部':
					list=[...goods];
					console.log(list);
					break;
					default:
					let msg = val.split('');
					console.log(msg)
					 goods.forEach((item)=>{
						 //遍历商品关键词
						 for(let m of msg){
							 if(item.goodName.indexOf(m) != -1){
									list.push(item);
									//只要商品名称中匹配上关键字的任意一个那么都将结果传递出去
									break;
							} }
						
					});
					console.log(list);
					break;
				}
				//计算出总页数
				let sumPages = Math.ceil(list.length/num);
				//当前页码是否小于等于总页数：成立了才能需截取数组
				if(p <= sumPages){
					for(let i=(p-1)*num; i<p*num; i++){
						//当i等于查询后的数组长度，断掉循环
						if(i == list.length)break;
						//否则将当前循环的元素添加到result传递
						result.push(list[i]);
					}
				}
				// 请求到数据后的操作
				
				resolve({list:result,total:list.length}); //请求最终的数据
			}catch(e){
				reject(e); //操作失败的结果
			}
		},1000)
	})
}

export function apiDetail(id ){
	//promise异步编程
	return new Promise((resolve , reject)=>{
		//定时器只是模仿请求的延时
		setTimeout(function(){
			try{
				let list = {}; //接受请求结果
				list = goods.find(item => item.id == id);
				// 请求到数据后的操作
				resolve(list); //请求最终的数据
			}catch(e){
				reject(e); //操作失败的结果
			}
		},1000)
	})
}

export function apiClassfy( ){
	//promise异步编程
	return new Promise((resolve , reject)=>{
		//定时器只是模仿请求的延时
		setTimeout(function(){
			try{
				let list = {}; //接受请求结果
				list = classfy;
				// 请求到数据后的操作
				resolve(list); //请求最终的数据
			}catch(e){
				reject(e); //操作失败的结果
			}
		},1000)
	})
}
export function apiCartGoods( ){
	//promise异步编程
	return new Promise((resolve , reject)=>{
		//定时器只是模仿请求的延时
		setTimeout(function(){
			try{
				let list = [...cartGoods]; //接受请求结果
				
				// 请求到数据后的操作
				resolve(list); //请求最终的数据
			}catch(e){
				reject(e); //操作失败的结果
			}
		},1000)
	})
}
export function apiOrders(val){
	return new Promise((resolve , reject)=>{
		setTimeout(function(){
			try{
				let list =[];
				if(val.trim() == '全部' ){
					list = [...orders];
				}else{
					list = orders.filter(item => item.deal == val);
				}
				resolve(list);
			}catch(e){
				reject(e); 
			}
		})
	})
}

export function addOrders(obj){
	return new Promise((resolve , reject)=>{
		setTimeout(function(){
			try{
				orders.push(obj)
				resolve('下单成功');
			}catch(e){
				reject(e); 
			}
		})
	})
}

export function updateOrders(id){
	return new Promise((resolve , reject)=>{
		setTimeout(function(){
			try{
			let index = 0;
			index = orders.findIndex(item => item.id == id);
			orders[index].shopPay = '1'
			orders[index].deal = '待收货'
			resolve('修改成功');
			}catch(e){
				reject(e); 
			}
		})
	})
}

